从 HTTP 服务器下载 AssetBundle (GET)

您所在的位置:网站首页 starter v53安装教程 从 HTTP 服务器下载 AssetBundle (GET)

从 HTTP 服务器下载 AssetBundle (GET)

2023-03-19 22:53| 来源: 网络整理| 查看: 265

Unity User Manual 2023.1 (beta) 多玩家和联网 UnityWebRequest 常用操作:使用 HLAPI 从 HTTP 服务器下载 AssetBundle (GET) 从 HTTP 服务器检索纹理 (GET) 将表单发送到 HTTP 服务器 (POST) 从 HTTP 服务器下载 AssetBundle (GET) Important: UNet is a deprecated solution, and a new Multiplayer and Networking Solution (Netcode for GameObjects) is under development. For more information and next steps see the information on the Unity Netcode for GameObjects website.

要从远程服务器下载 AssetBundle,可使用 UnityWebRequest.GetAssetBundle。此功能将数据串流到内部缓冲区,后者负责在工作线程上解码和解压缩 AssetBundle 的数据。

此函数的参数有多种形式。最简单的形式仅采用一个参数:下载 AssetBundle 时应使用的 URL。您可以选择提供校验和来验证下载数据的完整性。

或者,如果希望使用 AssetBundle 缓存系统,可提供版本号或 Hash128 数据结构。这些值与通过 WWW.LoadFromCacheOrDownload 为旧系统提供的版本号或 Hash128 objects 相同。

详细信息 此函数将创建 UnityWebRequest 并将目标 URL 设置为提供的 URL 参数。此函数还会将 HTTP 动词设置为 GET,但不会设置任何其他标志或自定义标头。 此函数将 DownloadHandlerAssetBundle 附加到 UnityWebRequest。此下载处理程序有一个特殊的 assetBundle 属性,一旦下载和解码了足够的数据,便可使用该属性来提取 AssetBundle,从而允许访问 AssetBundle 中的资源。 如果提供版本号或 Hash128 对象作为参数,也会将这些参数传递给 DownloadHandlerAssetBundle。下载处理程序随后将采用缓存系统。 示例 using UnityEngine; using UnityEngine.Networking; using System.Collections; public class MyBehaviour : MonoBehaviour { void Start() { StartCoroutine(GetAssetBundle()); } IEnumerator GetAssetBundle() { UnityWebRequest www = UnityWebRequestAssetBundle.GetAssetBundle("https://www.my-server.com/myData.unity3d"); yield return www.SendWebRequest(); if (www.result != UnityWebRequest.Result.Success) { Debug.Log(www.error); } else { AssetBundle bundle = DownloadHandlerAssetBundle.GetContent(www); } } } 从 HTTP 服务器检索纹理 (GET) 将表单发送到 HTTP 服务器 (POST)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3